import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.edge.EdgeOptions;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxOptions;

public class FirstWebTest {
    private static WebDriver driver;
    public static void main(String[] args) {
        // 打开Chrome浏览器并访问百度首页
        openChrome();
        //定位百度的搜索输入框，输入关键字“腾讯”，并点击搜索按钮
        driver.findElement(By.id("chat-textarea")).sendKeys("腾讯");
        // 点击搜索按钮
        driver.findElement(By.id("chat-submit-button")).click();

        // 打开Firefox浏览器并访问百度首页
        openFirefox();
        //定位百度的搜索输入框，输入关键字“腾讯”，并点击搜索按钮
        driver.findElement(By.id("chat-textarea")).sendKeys("腾讯");
        // 点击搜索按钮
        driver.findElement(By.id("chat-submit-button")).click();

        // 打开Edge浏览器并访问百度首页
        openEdge();
        //定位百度的搜索输入框，输入关键字“腾讯”，并点击搜索按钮
        driver.findElement(By.id("chat-textarea")).sendKeys("腾讯");
        // 点击搜索按钮
        driver.findElement(By.id("chat-submit-button")).click();
    }

    /**
     * 打开Chrome浏览器并访问百度首页的方法
     * 该方法配置了Chrome浏览器的驱动程序和浏览器路径，创建WebDriver实例并导航到指定URL
     */
    public static void openChrome() {
        // 设置Chrome浏览器驱动程序的路径
        System.setProperty("webdriver.chrome.driver", "src\\test\\resourses\\chromedriver.exe");
        // 创建ChromeOptions对象，用于配置Chrome浏览器的启动选项
        ChromeOptions options = new ChromeOptions();
        // 设置Chrome浏览器的可执行文件路径
        options.setBinary("D:\\谷歌浏览器\\new\\chrome-win64\\chrome.exe");
        // 使用配置好的选项创建ChromeDriver实例
        driver = new ChromeDriver(options);
        // 打开百度首页
        driver.get("https://www.baidu.com");
        // 以下是关闭浏览器的代码，当前被注释掉了
//        driver.quit();//关闭浏览器
    }

    /**
     * 打开Firefox浏览器并访问百度首页
     * 该方法设置了geckodriver的路径，配置Firefox浏览器的可执行文件路径
     * 并创建WebDriver实例进行网页浏览
     */
    public static void openFirefox() {
        // 设置系统属性，指定geckodriver的执行文件路径
        System.setProperty("webdriver.gecko.driver", "src\\test\\resourses\\geckodriver.exe");
        // 创建Firefox选项对象
        FirefoxOptions options = new FirefoxOptions();
        // 设置Firefox浏览器的可执行文件路径
        options.setBinary("D:\\FireFox\\firefox\\firefox.exe");
        // 创建FirefoxDriver实例，传入配置选项
        driver = new FirefoxDriver(options);
        // 打开百度首页
        driver.get("https://www.baidu.com");
//        driver.quit();//关闭浏览器 - 此行被注释掉，表示不执行关闭操作
    }

    /**
     * 打开Edge浏览器并访问百度首页
     * 该方法使用Selenium WebDriver来控制Edge浏览器
     */
    public static void openEdge() {
        // 设置Edge浏览器的驱动程序路径
        System.setProperty("webdriver.edge.driver", "src\\test\\resourses\\msedgedriver.exe");
        // 创建Edge浏览器选项对象
        EdgeOptions options = new EdgeOptions();
        // 设置Edge浏览器可执行文件的路径
        options.setBinary("C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe");
        // 使用指定的选项创建Edge驱动实例
        driver = new EdgeDriver(options);
        // 打开百度首页
        driver.get("https://www.baidu.com");
        // 注释掉的代码：关闭浏览器
//        driver.quit();//关闭浏览器
    }
}
